/**
 * 
 */
package com.whf15.o2o.service;

import java.io.InputStream;
import java.util.List;

import com.whf15.o2o.dto.ImageHolder;
import com.whf15.o2o.dto.ProductCategoryExecution;
import com.whf15.o2o.dto.ProductExecution;
import com.whf15.o2o.entity.Product;
import com.whf15.o2o.exceptions.ProductOperationExecution;

/**
 * 项目名称：o2o 类名称：ProductService 类描述： 创建人：whfo 创建时间：2021年7月4日 下午9:09:40
 * 
 * @version
 */
public interface ProductService {
	/**
	* 方法描述：   
	* 创建人：whfo   
	* 创建时间：2021年7月4日 下午10:26:03 
	* @param product
	* @param thumbnail
	* @param productImgList
	* @return
	* @throws ProductOperationExecution
	*/
	ProductExecution addProduct(Product product, ImageHolder thumbnail,
			List<ImageHolder> productImgList) throws ProductOperationExecution;
	
	
	/**
	* 方法描述：   查询商品列表并分页，可输入的条件：商品名（模糊	），商品状态，店铺Id，商品类别
	* 创建人：whfo   
	* 创建时间：2021年7月22日 下午5:01:34 
	* @param productCondition
	* @param pageIndex
	* @param pageSize
	* @return
	*/
	ProductExecution getProductList(Product productCondition,int pageIndex,int pageSize);
	
	/**
	* 方法描述：   通过商品Id查询唯一的商品信息
	* 创建人：whfo   
	* 创建时间：2021年7月16日 下午10:47:22 
	* @param productId
	* @return
	*/
	Product getProductById(long productId);
	
	/**
	* 方法描述：   修改商品信息以及图片处理
	* 创建人：whfo   
	* 创建时间：2021年7月16日 下午10:50:03 
	* @param product
	* @param thumbnail
	* @param productImgList
	* @return
	* @throws ProductOperationExecution
	*/
	ProductExecution modifyProduct(Product product,ImageHolder thumbnail,
			List<ImageHolder> productImgList)throws ProductOperationExecution;
}
